﻿namespace ChessToys
{
    using System.Collections.Generic;

    /// <summary>
    /// Generates all possible moves at the given board for the given position.
    /// </summary>
    public interface IMoveGenerator
    {
        /// <summary>
        /// Generates all possible moves.
        /// </summary>
        /// <param name="board">The board.</param>
        /// <param name="start">The start position.</param>
        /// <returns>All possible moves.</returns>
        ISet<Move> Generate(Board board, Position start);
    }
}
